package com.yuanfeng.userms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanfeng.commoms.util.ResponseResult;
import com.yuanfeng.commoms.vo.fx.VKUserInfoVO;
import com.yuanfeng.commoms.vo.fx.VkApplyOrderVO;
import com.yuanfeng.commoms.vo.goods.FXGoodsListVO;
import com.yuanfeng.userms.dto.UserApplyConfirmDTO;
import com.yuanfeng.userms.entity.UserVkEntity;
import com.yuanfeng.userms.vo.MallVkQueryVO;
import com.yuanfeng.userms.vo.YgRankVO;

import java.util.List;
import java.util.Map;

/**
 * @ClassName UserVkService
 * @Description 店铺微客会员表
 * @Author cyp
 * @Date 2023-06-05 11:00:51
 * @Version 1.0
 **/
public interface UserVkService extends IService<UserVkEntity> {
    /**
     * 查询微客用户信息
     *
     * @param paraMap
     * @return
     */
    VKUserInfoVO queryVKUserInfo(Map<String, String> paraMap);

    /**
     * 商品分享记录
     *
     * @param data
     * @return
     */
    ResponseResult shareGoodsRecord(String data);

    /**
     * 第一次购买用户成为店铺会员
     * @param data
     * @return
     */
    ResponseResult addShopVipUser(String data);

    /**
     * 微客申请购买商品
     * @param data
     * @return
     */
    ResponseResult vkApply(Map<String,List<VkApplyOrderVO>> data);

    /**
     * 微客申请页  信息和校验
     * @param vkApplyConfirm
     * @return
     */
    ResponseResult vkApplyPage(Map<String, String> vkApplyConfirm);

    /**
     * 微客提交申请
     * @param vkApplyConfirm
     * @return
     */
    ResponseResult vkApplyConfirm(Map<String, String> vkApplyConfirm);

    /**
     * 商家中心手动添加微客
     * @param map
     * @return
     */
    ResponseResult addVkInfo(Map<String, Object> map);

    /**
     * 商家中心--查询微客业绩
     * @param mallVkQuery
     * @return
     */
    ResponseResult queryShopVk(MallVkQueryVO mallVkQuery);

    /**
     * 员工申请页  信息和校验
     * @param vkApplyConfirm
     * @return
     */
    ResponseResult ygApplyPage(UserApplyConfirmDTO vkApplyConfirm);

    /**
     * 我的邀请人
     *
     * @param paraMap
     * @return
     */
    ResponseResult getAskUserInfo(Map<String, String> paraMap);

    /**
     *员工排行榜
     * @param ygRank
     * @return
     */
    ResponseResult queryYgRank(YgRankVO ygRank);

    /**
     * 今日分享商品
     * @param fxGoodsListRequest
     * @return
     */
    ResponseResult queryTodayShareGoods(FXGoodsListVO fxGoodsListRequest);
}
